package algoritmi;

import java.util.ArrayList;

/**
 * 
 * @author Maja Kabiljo
 * 
 */
public interface Algoritam {
	/**
	 * Postavljanje velicine kes memorije.
	 * 
	 * @param velicinaKesa
	 *            - koliko mesta ima u kesu.
	 */
	public void postaviVelicinuKesa(int velicinaKesa);
	/**
	 * Postavljanje velicine glavne memorije.
	 * 
	 * @param velicinaMemorije
	 *            - koliko adresa ima u glavnoj memoriji.
	 */
	public void postaviVelicinuGlavneMemorije(int velicinaMemorije);

	/**
	 * 
	 * @param ucitavanje
	 *            - odakle treba da ucitamo memorijske reference.
	 */
	public void setIzvorPodataka(Ucitavanje ucitavanje);

	/**
	 * Izvrsava algoritam.
	 * 
	 * @return - vraca informacije o tome sta se u svakom koraku desavalo.
	 */
	public ArrayList<InformacijeOJednomKoraku> getKoraci();
}
